import axios from 'axios'

//
// axios.get('http://123.207.32.32:8000/home/multidata').then((res) => {
//   console.log(res.data)
// })
// axios
//   .post('http://httpbin.org/post', {
//     params: {
//       name: 'ljm',
//       age: 18
//     }
//   })
//   .then((res) => {
//     console.log(res.data)
//   })

// 1.axios类型

// 2.axios的配置选项
// 全局配置
axios.defaults.baseURL = 'http://httpbin.org' // 主要链接，配置以后可以不写
// axios.defaults.timeout = 10000 // 超时时间
// axios
//   .post('/post', {
//     params: {
//       name: 'ljm',
//       age: 18
//     }
//   })
//   .then((res) => {
//     console.log(res.data)
//   })
// 每个请求单个配置
// axios
//   .post('/post', {
//     params: {
//       name: 'ljm',
//       age: 18
//     },
//     timeout: 50000,
//     headers: {}
//   })
//   .then((res) => {
//     console.log(res.data)
//   })

// 3.axios.all
axios
  .all([
    axios.get('/get', {
      params: {
        name: 'ljm',
        age: 18
      }
    }),
    axios.post('/post', {
      params: {
        name: 'ljm',
        age: 18
      }
    })
  ])
  .then((res) => {
    console.log(res[0])
    console.log(res[1])
  })

// 4.axios的拦截器
// fn1: 请求发送成功，会执行的函数
// fn2: 请求失败，会执行的函数
axios.interceptors.request.use(
  (config) => {
    //  想做的一些操作
    // 1.拦截请求添加token
    // 2.loading动画
    console.log(config)
    return config
  },
  (err) => {
    console.log('请求发生错误')
    return err
  }
)

// fn1：数据响应成功（服务器正常返回的数据 200)
axios.interceptors.response.use(
  (res) => {
    console.log('响应成功的拦截')
    return res
  },
  (err) => {
    console.log('服务器响应失败')
    return err
  }
)
